#pragma once
#include "geometry.h"
#include "tgaimage.h"

struct a2v{
  vec3 positon;
  vec3 normal;
  vec2 uv;
};

struct v2f{
  vec3 pos;
  vec2 worldNm;
};

class Shader{
public:
    Shader(TGAImage& diffuseTex, TGAImage& nmTex);
    virtual ~Shader();

    virtual void frag(v2f data) = 0;
    virtual void vert(a2v data) = 0;
private:
    TGAImage diffuseTex, nmTex;

};
